An information processing device included in an information processing system transmits and receives data to and from other information processing devices. Also, a configuration included in each information processing device transmits and receives data to and from other configurations to proceed processing. A connection of a plurality of these devices or configurations is realized with a switch for switching and connecting a plurality of communication paths. A crossbar switch is the one that switches and connects a plurality of communication paths in this manner (for example, refer to Japanese Unexamined Patent Application Publication (Translation of PCT Application) No. 2014-501950 (hereinafter referred to as PTL 1)).
A crossbar switch switches a connection between input and output ports based on arbitration.
However, a common crossbar switch such as a technology described in PTL 1 has an issue that its performance declines when it connects to input ports with different bandwidths.
Hereinafter, referring to the drawings, this issue will be described.
FIG. 1 is a diagram showing an example of a common crossbar switch 90 used in a description below. The crossbar switch 90 shown in FIG. 1 includes input ports with a plurality of bandwidths as its input port bandwidth. More specifically, the crossbar switch 90 shown in FIG. 1 includes input ports A and B with a bandwidth of 8 [B/T] and input ports C and D with a bandwidth of 16 [B/T]. This [B/T] indicates “bytes/cycle” which is one of units of data bandwidth. In addition, the bandwidth of the output direction of the crossbar switch 90 (output ports A, B, and C) is 16 [B/T].
FIG. 2 is a diagram showing an example of data transfer after arbitration in the crossbar switch 90 shown in FIG. 1. FIG. 2 shows an example of outputting input data of the input ports A, B, and C from the output port A of the crossbar switch 90. FIG. 2 shows a case when the input port A first successfully participates in the arbitration in the crossbar switch 90 and secures the output port A.
As shown in FIG. 2, the input port A transmits (passes) data to the crossbar switch 90 in the bandwidth of 8 [B/T]. At the output port A of the crossbar switch 90, therefore, a vacancy occurs in the output port A between the time t2 and t9 when the data is output from the input port A. This is why the performance of the crossbar switch 90 declines.
In the example shown in FIG. 2, the output port bandwidth reduces by half and the performance considerably declines. Therefore, for the information processing devices which require high performance, the control as shown in FIG. 2 is not used.
A method of using a buffer is a countermeasure against the problem shown in FIG. 2 (for example, refer to Japanese Unexamined Patent Application Publication No. 2005-252953 (hereinafter referred to as PTL 2)).
FIG. 3 is a diagram showing an example of data transfer with buffers. This means FIG. 3 is a diagram showing an example of the technology for preventing the preceding problem.
The crossbar switch 90 shown in FIG. 3 is equipped with buffers (buffers A and B in FIG. 3) which have enough capacity to save all the received flits for input ports (especially, input ports with a low bandwidth). This flit means a unit of data transferred per cycle. The input ports with the low bandwidth of the crossbar switch 90 (the input ports A and B) save flits (data) in the buffers. After all the flits (data) are saved in the buffers, the input ports with the low bandwidth participate in arbitration. When the input ports with the low bandwidth successfully participate in the arbitration, they send out the saved data in the buffers so that there is no vacancy in the output ports.
For example, the input ports A and B shown in FIG. 3 save the flits (data) which are input with a bandwidth of 8 [B/T] in the buffers (input buffers A and B). After all the flits are provided, the input ports A and B participate in the arbitration of the crossbar switch 90. For example, the input port A participates in the arbitration at the time t9 because all the flits are provided at the time t8. The input ports A and B output data with a bandwidth of 16 [B/T] when they successfully participate in the arbitration. In this case, the crossbar switch 90 can achieve performance of 16 [B/T].
It is noted that data of input ports not shown is output from the output port A from the time t0 to t5 in FIG. 3.